package top.blueShark.template.service;

import top.blueShark.template.entity.SysRole;

import java.util.List;

/**
 * 角色服务接口
 */
public interface SysRoleService {
//    status, name
    List<SysRole> getRoleList(int page, int pageSize, Integer status, String roleName);
    int getRoleCount();
    void addRole(SysRole role);
    void updateRole(SysRole role);
    List<Integer> getMenuIdsByRoleId(String roleId); // <-- 更名为 getMenuIdsByRoleId
    SysRole getById(String id);
    List<SysRole> getAllRoles();

    /**
     * 添加角色，使用调用者提供的ID，不会自动生成UUID。
     * 主要用于初始化固定ID的角色。
     * @param role 包含预定义ID的角色信息
     */
    void addRoleWithFixedId(SysRole role);

    /**
     * 根据角色名称查询角色
     * @param roleName 角色名称
     */
    SysRole getByRoleName(String roleName);

    List<String> getRoleIdsList(List<String> userRolesName);

    List<SysRole> getRoleListByStatus(String number);

    void deleteRoleById(String id);
}